﻿using Newtonsoft.Json;

namespace Fadada.FASC.SDK.DotNetCore.Model
{
    /// <summary>
    /// 获取签署任务详情 的返回值FillActorFour，注意区分FillActorThird：创建签署任务 ， 创建签署任务 (基于签署模板) FillActorTwo ,model中还有FillActor（获取签署模板详情），请注意区分
    /// </summary>
    public class FillActorFour
    {
        /// <summary>
        /// 填写方信息，必须设置Actor.actorType=filler。以actorId和模板中一一匹配。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "fillActor",
            Required = Newtonsoft.Json.Required.Always)]
        public Actor FillActor { get; set; }

        /// <summary>
        /// 参与序号。如果签署任务要求有序填写，这里必须设定，按从小到大顺序排列。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "orderNo",
            Required = Required.AllowNull)]
        public int? OrderNo { get; set; }

        /// <summary>
        /// 填写方状态：no_send: 未投递(尚未发送给本填写方)to_accept: 待接收(正在等待本填写方接收)
        /// accepted: 已接收(已被本填写方接收)to_fill: 待填写(等待本填写方填写)filled: 已填写(本填写方已完成了需自己必填控件的填写)
        /// rejected: 已拒填(本填写方拒绝了填写)
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "fillActorStatus",
            Required = Newtonsoft.Json.Required.Always)]
        public string FillActorStatus { get; set; }

        /// <summary>
        /// 最后的填写操作时间。格式为：Unix标准时间戳，精确到毫秒。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "actionTime",
            Required = Required.AllowNull)]
        public string ActionTime { get; set; }
    }
}